package cn.com.joycode.nimble.trans;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 交易状态
 *
 * @author Max Woods
 */

@AllArgsConstructor
public enum TransStatus {

    /**
     * 待处理
     */
    WAIT("待处理"),

    /**
     * 处理中
     */
    PEND("处理中"),

    /**
     * 成功
     */
    SUCCESS("成功"),

    /**
     * 失败
     */
    FAIL("失败"),

    /**
     * 关闭
     */
    CLOSE("关闭");

    @Getter
    private String desc;

    /**
     * 返回状态是否是最终状态
     *
     * @return 是否最终状态
     */
    public boolean isFinal() {
        switch (this) {
            case SUCCESS:
            case FAIL:
            case CLOSE:
                return true;
            default:
                return false;
        }
    }
}